#ifndef MYMUSIC_WLQUEUE_H
#define MYMUSIC_WLQUEUE_H

#include "queue"
#include "pthread.h"
#include "AndroidLog.h"
#include "ZYSPlayStatus.h"

extern "C"
{
#include "libavcodec/avcodec.h"
};


class ZYSQueue {

public:
    std::queue<AVPacket *> queuePacket;
    pthread_mutex_t mutexPacket;
    pthread_cond_t condPacket;
    ZYSPlayStatus *playStatus = NULL;

public:

    ZYSQueue(ZYSPlayStatus *playStatus);
    ~ZYSQueue();

    int putAVPacket(AVPacket *packet);
    int getAVPacket(AVPacket *packet);

    int clearAVPacket();

    int getQueueSize();




};


#endif //MYMUSIC_WLQUEUE_H
